Empirical Investigations in Software Architecture Completeness

نویسندگان

  • Michel Chaudron
  • Eric Dortmans
  • Lou Somers
چکیده

3 A. Abstract Especially in large-scale industrial software projects there is the need for applying quality assuring techniques already in early stages of the development process, i.e. the architecture and design phases. In these stages models are used to analyze and describe the software system. As the models in large-scale projects are created and used by many team members and external stakeholders it is a necessity to maximize comprehensibility. The UML is the most commonly used notation used in software engineering projects. It is a common hypothesis that the freedom allowed by the UML involves miscommunication and integration overhead and complicates the two afore mentioned needs in software projects. In large projects it is difficult to oversee the completeness of a model under development. For the MSc project described in this thesis we performed a survey through questionnaires. The survey confirmed this hypothesis. The UML is used loosely by practitioners; deadline stress and lack of conventions cause that the architecture models are incomplete and inconsistent, i.e. they lack elements and contain conflicting information between different types of diagram. This leads to uncertainty whether quality inspections are trustworthy at a given point of time, and it leads to miscommunication, integration problems and testing overhead. In this project completeness and consistency of UML models is defined. A set of rules and metrics is proposed to manage large models (with respect to completeness and consistency). To specify violations of completeness and consistency we have created a meta model of the four most commonly used diagram types. We extended an existing tool to calculate the rules and metrics automatically given an UML model. In six large-scale case studies these rules and metrics are validated. Besides validation of the rules and metrics the case studies serve to investigate violations of completeness and consistency in UML models. We make the following observations: ÷! The absolute number of completeness and consistency violations is quite large. In industrial practice, the designs are moved to the next stage with still a significant number of violations. ÷! The types of violations occurring in a model are related to the architect’s habits, education and other factors. ÷! A heuristic is presented that indicates the internal dynamic behavior of a class. The presented dynamicity is useful for the identification of highly dynamic classes. Interestingly the dynamicity histogram shows similar characteristics for all cases. ÷! The two case studies performed as a post-graduate student project have the best score. This probably due to the fact that the time pressure for such a small project is less than in industrial settings and that the students learned UML modeling at the university and not on the job, like most industrial architects. ÷! The presented rules and metrics cannot ultimately identify violations, but point the architect to the suspects. The architect has to judge whether it is a violation. The techniques help finding violations efficiently and encourage model improvements. In practice most suspects turned out to be guilty.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

DASTWAR: a tool for completeness estimation in magnitude-size plane

Today, great observatories around the world, devote a substantial amount of observing time to sky surveys. The resulted images are inputs of source finder modules. These modules search for the target objects and provide us with source catalogues. We sought to quantify the ability of detection tools in recovering faint galaxies regularly encountered in deep surveys. Our approach was based on com...

متن کامل

An Empirical Assessment of Completeness in UML Designs

Delivering high quality software in an economic way requires advanced control over the software development process and the product in all stages of its life-cycle. The use of metrics as means of control and improvement plays an important role in software engineering. Interviews with industrial software engineers identified incompleteness of UML designs as a potential problem for subsequent sta...

متن کامل

Identifying and Understanding Architectural Risks in Software Evolution: An Empirical Study

Software risk management studies commonly focus on project level risks and strategies. Software architecture investigations are often concerned with the design, implementation and maintenance of the architecture. However, there has been little effort to study risk management in the context of software architecture. We have identified risks and corresponding management strategies specific to sof...

متن کامل

A feature model of actor, agent, functional, object, and procedural programming languages

The number of programming languages is large [1] and steadily increasing [2]. However, little structured information and empirical evidence is available to help software engineers assess the suitability of a language for a particular development project or software architecture. We argue that these shortages are partly due to a lack of high-level, objective programming language feature assessme...

متن کامل

Evaluating Agent-to-Agent Workflow Interactions for Service Composition: Third-Party Control or P2P?

The autonomy and adaptation of software agents are valuable in environments that regularly change. The Internet presents such an environment, particularly with the addition of semantic web services. The connotation of distributed web services being offered across the Internet has researchers and industry personnel anticipating the seamless ability to automatically generate high-level composite ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003